/**
 * @Title:   [WebMvcConfig.java]
 * @Package: [com.yixun.qfbao.config]
 * @author:  [shaoping.jiao] 
 * @CreateDate: [2017年11月9日 下午2:41:02]   
 * @UpdateUser: [shaoping.jiao]   
 * @UpdateDate: [2017年11月9日 下午2:41:02]   
 * @Description:  [MVC配置]
 * @version: [V1.0]
 */
package com.yixun.qfbao.config;

import java.nio.charset.Charset;
import java.util.List;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

/**
 * @ClassName: WebMvcConfig
 * @author: [shaoping.jiao]
 * @CreateDate: [2017年11月9日 下午2:41:02]
 * @UpdateUser: [shaoping.jiao]
 * @UpdateDate: [2017年11月9日 下午2:41:02]
 * @Description: [MVC配置]
 * @version: [V1.0]
 */
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
	
	@Bean
	public HttpMessageConverter<String> responseBodyConverter() {
		StringHttpMessageConverter converter = new StringHttpMessageConverter(Charset.forName("UTF-8"));
		return converter;
	}
	
	@Override
	public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
		super.configureMessageConverters(converters);
		converters.add(responseBodyConverter());
	}
	
	@Override
	public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
		configurer.favorPathExtension(false);
	}
	
	@Override
	public void addCorsMappings(CorsRegistry registry) {
		registry.addMapping("/**").allowedOrigins("*").allowedHeaders("*").allowedMethods("GET", "POST", "DELETE", "OPTIONS").maxAge(3600);
	}
}
